<?php
	session_start();
	require_once '../data/Banque.php';
	require_once '../data/Dossier.php';
	require_once '../data/Comptabilite.php';
	require_once '../data/Mails.php';
	$banque = unserialize($_SESSION['banque']);
	$dossier = unserialize($_SESSION['dossier']);
	$separator = ConfigClement::$separator_address;
	
	$date = $_POST['date'];
	$type_client = $_POST['type_client'];
	$societe = $_POST['societe'];
	$numero_compte_client = $_POST['numero_compte_client'];
	$nom = $_POST['nom'];
	$prenom = $_POST['prenom'];
	$profession = $_POST['profession'];
	$date_naissance = $_POST['date_naissance'];
	$email =  $_POST['email'];
	$adresse = $_POST['adresse1'].$separator.$_POST['adresse2'].$separator.$_POST['adresse3'].$separator.$_POST['adresse4'];
	$tel_domicile = $_POST['tel_domicile'];
	$tel_portable = $_POST['tel_portable'];
	$cadre = $_POST['cadre'];
	$fumeur = $_POST['fumeur'];
	


	$nom_emetteur = $_POST['nom_emetteur'];
	$prenom_emetteur = $_POST['prenom_emetteur'];
	$numero_matricule_emetteur = $_POST['numero_matricule_emetteur'];
	$numero_tel_emetteur = $_POST['numero_tel_emetteur'];
	$agence_service_emetteur = $_POST['agence_service_emetteur'];
	$copie_emetteur = $_POST['copie_emetteur'];
	$id_banque = $dossier->id_banque; // updateDossier() ignore this information anyway !
	$statut = $_POST['idstatut'];
	
	$last_statut = $dossier->statut;
	
	
 	if($dossier != null){ 
 		$dossier->setAllValueDossier($date, $type_client, $societe, $numero_compte_client, $nom, $prenom,
			$profession, $date_naissance, $email, $adresse, $tel_domicile, $tel_portable, $cadre, $fumeur,
			$nom_emetteur, $prenom_emetteur, $numero_matricule_emetteur,
			$numero_tel_emetteur, $agence_service_emetteur, $copie_emetteur, $id_banque, $statut);
 		$dossier->updateDossier();
 		
 		$id_dossier = $dossier->__get('id');
 		
 		//get and save list emprunt
 		$nb_emprunt = $_POST['nbEmprunt'];
 			
 		$list_emprunt = Emprunt::getListEmpruntByDossier($dossier->id);
 		$list_id_new_emprunt = array();
 		
 		for($i = 1; $i <= $nb_emprunt; $i++){
 			
 			$id = isset($_POST['id'.$i]) ? $_POST['id'.$i] : 0 ;
 			
 			
 			$montant = $_POST['montant'.$i];
 			$taux = $_POST['taux'.$i];
 			$duree = $_POST['duree'.$i];
 			$quotas = $_POST['quotas'.$i];
 			$contrat_differe = $_POST['contrat_differe'.$i];
 			$date_signature_prevu = $_POST['date_signature_prevu'.$i];
 			$type_pret = $_POST['type_pret'.$i];
 			$numero_pret = $_POST['numero_pret'.$i];
 			$remarques = $_POST['remarques'.$i];
 			if(isset($_POST['chomage'.$i])){
 				$couvertures = "Chomage";
 			} else {
 				$couvertures = "Deces";
 				if(isset($_POST['PTIA'.$i])){
 					$couvertures = $couvertures . ",PTIA";
 				}
 				if(isset($_POST['ITT'.$i])){
 					$couvertures = $couvertures . ",ITT";
 				}
 			}
 			
 			if($id > 0)
 			{
 				$emprunt = Emprunt::getEmpruntById($id);
 				$old_date_signature = $emprunt->date_signature_prevu;
 				$emprunt->setAllValueEmprunt($montant, $taux, $duree, $quotas, $contrat_differe, $type_pret, $numero_pret, $date_signature_prevu, $remarques, $couvertures);
 				$emprunt->updateEmprunt();
 				$list_id_new_emprunt[] = $id;
 				
 				if($banque->__get('login') == ConfigClement::$admin_login && $banque->__get('password') == ConfigClement::$admin_pwd){
 					$date_debut = $_POST['date_debut'.$i];
 					$date_fin = $_POST['date_fin'.$i];
 					$numero_contrat = $_POST['numero_contrat'.$i];
 					$compagnie = $_POST['compagnie'.$i];
 					$prime_assurance = $_POST['prime_assurance'.$i];
 					$taux_commission = $_POST['taux_commission'.$i];
 					$commission_banque = $_POST['commission_banque'.$i];
 					$commission_courtier = $_POST['commission_courtier'.$i];
 					
 					
 					if($commission_banque == 0 && $prime_assurance > 0){
 						$commission_banque = $prime_assurance * 0.08;
 					}
 						
 					if($commission_courtier == 0 && $prime_assurance > 0 && $taux_commission > 0){
 						$commission_courtier = $prime_assurance * $taux_commission;
 					}
 				
 					// Cas où la date de signature est renseignée après la création
 					// Note que l'admin peut modifier la date de début et de fin manuellement
 					if($date_signature_prevu != null && $date_signature_prevu != "" && $date_signature_prevu != $old_date_signature){
 						$date_debut = strftime("%d-%m-%Y", strtotime("+" . $contrat_differe . " month", strtotime($date_signature_prevu)));
 						$date_fin = strftime("%d-%m-%Y", strtotime("+" . $duree . " month", strtotime($date_debut)));
 					}
 				
 					$compta = Comptabilite::getComptaByEmprunt($id);
 					$compta->setAllValueComptabilite($date_debut, $date_fin, $numero_contrat, $compagnie, $prime_assurance, $taux_commission, $commission_banque, $commission_courtier);
 					$compta->updateComptabilite();
 				}
 			}else{
	 			$emprunt = new Emprunt($id_dossier,
	 					$montant, $taux, $duree, $quotas, $contrat_differe, $type_pret, $numero_pret, $date_signature_prevu, $couvertures, $remarques);
	 			$emprunt->saveEmprunt();
	 			$id = Emprunt::getLastIdByDossier($id_dossier);
	 			
	 			//save comptabilité
	 			if($date_signature_prevu != null && $date_signature_prevu != ""){
	 				$date_debut = strftime("%d-%m-%Y", strtotime("+" . $contrat_differe . " month", strtotime($date_signature_prevu)));
	 				$date_fin = strftime("%d-%m-%Y", strtotime("+" . $duree . " month", strtotime($date_debut)));
	 			}else{
	 				$date_debut = "";
	 				$date_fin = "";
	 			}
	 				
	 			$compta = new Comptabilite($id_dossier, $id, $date_debut, $date_fin, null, null, 0, 0, 0, 0);
	 			$compta->saveComptabilite();
 			}
 			

 		}
 		
 		foreach($list_emprunt as $emprunt)
 		{
 			if(!in_array($emprunt->id, $list_id_new_emprunt))
 			{
 				$emprunt->deleteEmprunt();
 			}
 		}
 		
 		
 		
 		 Mails::sendMailModifDossier($banque, $dossier, 1 );
 		 
 		 if($statut == 6 && $statut != $last_statut) {
 		 	Mails::sendMailModifDossier($banque, $dossier, 3 );
 		 }
 		
		header("Location:../view_dossier.php?id=".$dossier->__get('id')."&updated");
 	} else { 		
 		header("Location:../view_dossier.php?id=".$_SESSION['id']."&error");
 	}
?>